//
// Created by 下次一定 on 2021/9/6.
//


#include <iostream>

using namespace std;

const int N  = 100010 ;

// head表示头节点的下标
// e 数值
// ne 下标
// idx 指针
int head , e[N] , ne[N] , idx;

// 初始化
void init(){
    idx = 0;
    head = -1;
}

void insert(int value){
    e[idx] = value;
    ne[idx] = head;
    head = idx;
    idx++;
}

// 插到最后一个点后面
void insert(int k , int value){
    e[idx] = value;
    ne[idx] = ne[k];
    ne[k] = idx;
    idx ++ ;
}

//将下标k后的点删掉
void remove(int k){
    ne[k] = ne[ne[k]];
}


int main(){
    int m;
    cin>>m;

    init();
    while(m--){
        int k ,x;
        char op;
        cin>>op;

        if(op == 'H'){
            cin >> x;
            insert(x);
        }else if(op == 'D'){
            cin >> k;
            if(!k) head = ne[head];
            remove(k);
        }else{
            cin >> k >> x;
            insert(k,x);
        }
    }

    for(int i = head; i!=-1;i = ne[i]) cout<<e[i]<<" ";
    cout << endl;

    return 0;

}